#pragma once

#include "Containers/String.h"

//对象路径描述了对象在对象树中的位置，格式为
//Root{分隔符}{资产对象名}{分隔符}{祖父对象名}{分隔符}{父对象名}{分隔符}{本对象名}
//分隔符为是一个unicode 字符
namespace WH
{
    //对象路径分隔符
    const char32_t ObjectPathSeparator = U'~';

    //分割对象路径
    WHENGINE_API TVector<CString> SplitObjectPath(const CString& InPath);

    //从一个对象路径中获取资产对象路径
    //资产对象就是路径上的第二个对象
    WHENGINE_API CString GetAssetObjectPath(const CString& InObjectPath);

    //资产路径分隔符
    //资产路径格式为{资产类型名}{分隔符}{包名}{分隔符}{包内路径}{分隔符}{资产名}
    //资产路径同时也是资产对象的名字
    const char32_t AssetPathSeparator = U'|';
}
